#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N],tmp[N];
int n;

void merge_sort(int a[],int l , int r)
{
    if(l >= r) return;
    int mid = l +(r-l>>1);
    merge_sort(a,l,mid);
    merge_sort(a,mid+1,r);
    int k = 0 , i = l , j = mid+1;
    while(i <= mid && j <= r)
        tmp[k++] = a[i] > a[j] ? a[j++] : a[i++];
    
    while(i <= mid) tmp[k++] = a[i++];
    while(j <= r) tmp[k++] = a[j++];
    for(int i = 0 ; i < k ; ++i) a[l+i] = tmp[i];
}

int main()
{
    cin >> n;
    for(int i = 0 ; i < n ; ++i) scanf("%d",&a[i])
    merge_sort(a,0,n-1);
    for(int i = 0 ; i < n ; ++i) printf("%d ",a[i]);
    return 0;
}